home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
010
/
slither.arc
/
SLITHER.DOC
< prev
next >
Wrap
Text File
|
1987-03-30
|
24KB
|
567 lines
SLITHER
Arcade Action without the Arcade
Version 2.12
INTRODUCTION
Imagine an enchanted snake, slithering along the desert
sand. It moves quickly along, turning left and right, in search
of tasty morsels to satisfy its hunger. At last! Directly
ahead, a small piece of food comes into view. The snake heads
forward at top speed and hungrily clamps its massive jaws shut.
The enchantment allows it to digest the food instantly, and it
begins to grow. In no time, it's almost twice as long as it was
before. But alas, along with the enchantment comes a curse; the
poor snake cannot rest, but must keep moving, ever in search of
more food so that it may grow, and grow. The snake must also
hurry, for in the desert sun, food goes bad very quickly; if the
food is not eaten soon after it appears, it will become hard as a
rock. And woe be to it, if in its haste the snake should trip
over itself or run into a wall, for the enchantment would fade
away, and the snake would be no more.
This fanciful scenario is the basis of SLITHER, a fast-
action game requiring quick planning and quick reflexes. SLITHER
runs under MS-DOS* 2.0 or later on IBM-PCs or compatibles with
almost any video display or terminal. No special graphics hard-
ware is required. SLITHER should also work with non-IBM compat-
ible MS-DOS machines, but we haven't tested it.
Copyright (c) 1984,1986
Nirvonics, Inc.
P.O. Box 5062
Plainfield, NJ 07061
* IBM-PC is a registered trademark of IBM Corp.
MS-DOS is a registered trademark of Microsoft.
LICENSE
SLITHER is copyrighted by Nirvonics, Inc. Permission is granted
to use, copy and distribute SLITHER providing that:
NO FEE IS CHARGED FOR USE, COPYING OR DISTRIBUTION.
IT IS NOT MODIFIED IN ANY WAY.
THIS NOTICE MUST BE INCLUDED WITH ANY COPY OF SLITHER.
Clubs and user groups may charge a nominal fee for expenses and
handling while distributing SLITHER.
This program is provided AS IS without any warranty, expressed or
implied, including but not limited to fitness for a particular
purpose.
If you enjoy SLITHER, a contribution would be appreciated. For a
contribution of $20 you will receive a diskette with the latest
version of SLITHER and a hardcopy manual (complete with glossy
cover).
For a list of other software from Nirvonics, send a SASE to:
Nirvonics, Inc.
P.O. Box 5062
Plainfield, NJ 07061
THE PROGRAM
Starting Out for the First Time
-------- --- --- --- ----- ----
(or, What to Do When Just Running It Didn't Quite Work)
--- ---- -- -- ---- ---- ------- -- ------ ----- ----
SLITHER requires two data files in order to run. The first
of these is a system configuration file called NIRVOSYS.PSF
(which is used by most software from Nirvonics, Inc.). This file
contains terminal definition information, which tells SLITHER how
to talk to your console terminal (or display) in order to do
things like clearing the screen and moving the cursor to a
specific position. If you do not already have a NIRVOSYS.PSF
with your terminal definition in it, you can create one by run-
ning the program TERMSET, supplied on the distribution disk.
TERMSET allows you to choose from a number of standard terminal
types, or to define your own type. See Appendix A for details on
using TERMSET.
The second data file SLITHER requires is called SLITHER.DAT.
SLITHER uses this file to keep track of players' high scores.
The first time you run SLITHER, it will create a SLITHER.DAT file
with an empty scoreboard.
When SLITHER is looking for one of these files, it tries
some of the most reasonable (disk) directories (in particular, it
will look anywhere that the operating system might look for
program files). If the file is not in any of these directories,
SLITHER will ask you where it should be. You can then tell it in
which (disk) directory the file should reside. Normally, it will
find it by itself, and this will not be necessary.
Timing Calibration
------ -----------
Since SLITHER is a real-time game, it must perform certain
actions at specific times, with fraction-of-a-second accuracy.
The first time SLITHER is run, it attempts to calibrate itself
for the particular computer, using the system clock as a
reference.
You can force SLITHER to calibrate again (if, for example,
you switch to a slower terminal) by typing:
SLITHER CALIBRATE
Running the Program (or, OK, Already! Let's PLAY!)
------- --- ------- --- --- -------- ----- -----
After you have created the configuration file, you can run
the program by typing:
SLITHER
- or -
SLITHER BELL
The program will then play demonstration games by itself while
you read the rest of the manual. When you use "SLITHER BELL", a
bell will ring whenever you hit an object on the screen, just
like in the arcades!
At any time, SLITHER will be in one of several modes. It
starts in Demo mode and returns to it whenever it isn't doing
anything else. In Demo mode, SLITHER plays games against itself,
randomly picking difficulty levels for each new game. In this
way, a beginning player or a curious onlooker can get an idea of
how the game works. It's also just plain fun to watch, even for
experienced players.
While SLITHER is in Demo mode, and some of the other modes,
it displays, on the bottom line of the screen, a list of modes
and the keys used to switch to each mode. The modes which may be
selected, whenever this display is visible, are Instruction mode,
Scoreboard mode, and Game mode.
To play a game, enter Game mode by typing "P" (for play), or
a carriage return (the normal end-of-line key, usually labeled
"RETURN" or "ENTER"). Type "L" to choose a difficulty level;
start with level 1 to get used to the game, then experiment with
other levels. The higher the level, the faster things move
around on the screen, but the more points you receive for each
target.
When you finish a game, SLITHER will automatically enter
Scoreboard mode for a short time before returning to Demo mode.
To enter Scoreboard mode at any other time, press the "S" key.
Scoreboard mode provides a list of the players with the highest
scores and a list of the longest snakes achieved at each level of
difficulty.
The remaining mode is Instruction mode and may be entered by
pressing the "I" key. This mode gives an explanation of the
rules of the game. These are the same rules, if not the same
words, as given in the next section of the manual.
THE GAME
The Rules
--- -----
The object of the game is to score points by making the
snake eat food. The snake is represented on the screen as a
string of "*" symbols which move together across the screen at a
constant speed. You can control the direction that the snake's
head turns. The rest of the snake follows the head.
At random times, pieces of food will appear on the screen.
These are shown as single digit numbers. The number for a piece
of food represents its current value. Food values count down at
a constant rate until they reach zero, and the food goes bad
(represented by an "@" symbol on the screen). The initial value
and the countdown rate vary from one piece of food to another.
To make the snake eat a piece of food, simply maneuver the
head to the same spot as the food; instinct will take it from
there. When the snake eats a piece of food, its tail grows, ad-
ding one "*" for each unit of food value. At the same time, your
score increases by an amount proportional to the food value and
the difficulty level.
As you move the snake's head around the screen, be careful
not to let it hit the walls or any other part of the snake. If
you do, the enchantment fails, and the game ends. Also, if the
snake eats a piece of food that has gone bad, it will suffer from
a terminal case of indigestion, ending the game.
If your score at the end of the game is among the top 15
scores of all time, or is the highest score for the current dif-
ficulty level, SLITHER will ask for your name and add it to the
scoreboard.
The Controls
--- --------
There are only four controls used to play SLITHER: LEFT,
RIGHT, UP, and DOWN. These are the directions (from your point
of view) that the snake's head should turn. When no controls are
pressed, the snake will continue moving in the same direction.
Even though there are only four controls, there are a large
number of keys which may be used for these controls. Thus you
may choose a set most appropriate for your keyboard and your par-
ticular tastes (and handedness).
If your keyboard has a numeric keypad, a common choice is to
use "8" for UP, "4" for LEFT, "6" for RIGHT, and "2" for DOWN.
Also popular is the set: "8" for UP, "4" for LEFT, "6" for RIGHT,
and "5" for DOWN. These sets may be represented graphically as:
8 8
4 6 and 4 5 6
2
The above selections are popular because the keys are ar-
ranged in a cluster with the placement of keys relative to each
other corresponding to the direction of movement. Such clusters
are sometimes called "direction diamonds". Other common direc-
tion diamonds are:
U 9 W 0
H K I O P or, for lefties A D I O P
space space
You may use any of the above sets or choose your own. The
keys which correspond to each control are:
LEFT: 4, A, S, G, H, I
RIGHT: 6, D, F, J, K, P
UP: 8, 9, 0, W, E, R, Y, U
DOWN: 2, 5, Z, X, C, O, space
If your terminal has ARROW KEYS, they may also be used.
Game Variations
---- ----------
SLITHER now allows 12 different styles of play. There are
four target types and three game types.
The four target types are listed below:
-- Stationary (normal, easiest)
-- Bouncing
-- Wandering
-- Dodging (hardest)
In games using any of the three moving target types
(bouncing, wandering, and dodging), each target is randomly as-
signed a speed when it first appears; this speed can be as fast
as, but not faster than, the snake's speed. Bouncing targets
move in a straight line until they reach an obstacle; then they
turn around and go the other way. Wandering targets change
direction randomly, at random times. Dodging targets attempt to
move away from the snake.
In addition to the normal, one-snake, game, there are two
other game types: two-snake and two-player. In each of these
two games, two targets and two snakes appear on the screen.
The second snake (shown by "%" symbols on the screen) is
controlled by the computer in a two-snake game, or by a second
player in the two-player game. Each snake must avoid not only
itself and the walls, but also the other snake. When one snake
dies, and a player's snake is still alive, the game continues,
with the dead snake remaining limp on the screen as an obstacle.
Selecting Game Variations
--------- ---- ----------
When Game mode has been selected, but a game has not yet
begun, a display will appear showing the current target and game
types (described above), along with the current difficulty level.
Typing the "T" key will step through the available target types;
the "G" key will step through the game types. Repeat these keys
until you reach the game and target types you would like. If you
type "L", you will be prompted to select a difficulty level.
A similar display appears when a scoreboard is on the
screen. Each scoreboard is for one of the twelve game
variations; use the "T" and "G" keys to view different
scoreboards.
Controls for the Two-Player Game
-------- --- --- ---------- ----
When you choose the two-player game, you will be able to
select which player will use which control keys. When SLITHER is
first started, the left player ("*") can use any of these keys:
LEFT: A, S, G
RIGHT: D, F, J
UP: W, E, R, Y
DOWN: Z, X, C
The right player ("%") can use:
LEFT: 4, H, I, left-arrow
RIGHT: G, K, P, right-arrow
UP: 8, 9, 0, U, up-arrow
DOWN: 2, 5, O, space, down-arrow
If players wish to use keys normally assigned to the other
player, the keys can easily be redistributed. If you type the
"K" key before the two-player game starts, each player will be
given a chance to choose the four keys he wants to use in the
game. The only restriction is that each player must pick one key
of each direction. The keys that a player chooses will remain
his until changed again.
CUSTOMIZATIONS
Changing Game Symbols
-------- ---- -------
SLITHER allows you to change the symbols it uses to draw the
snakes, rocks, and the border around the playing field. To
change any of these, run SLITHER with a SYMBOLS argument:
SLITHER SYMBOLS
SLITHER will prompt you for the information it needs.
Changing Colors
-------- ------
If you are using an IBM-compatible color display (terminal type
IBM-CGA), SLITHER can display the various symbols, text, and
background in different colors. To change the default colors,
run SLITHER with a COLORS argument:
SLITHER COLORS
SLITHER will prompt you for the information it needs.
APPENDIX A: USING TERMSET
Purpose
-------
TERMSET is Nirvonics' utility for creating data sets which
define the characteristics and capabilities of terminals, for use
by programs which desire to do device-independent terminal
manipulation.
TERMSET uses two data files. The first is the system con-
figuration file, NIRVOSYS.PSF. When you configure a terminal
definition for your computer, it will be put into this file.
This is the same data file that other software packages from Nir-
vonics use, so if you already have such a file, terminal defini-
tions will be added to it. Otherwise, it will be created
automatically by TERMSET. Users who have more than one terminal,
or have terminals with several modes, can put a terminal defini-
tion for each each into NIRVOSYS.PSF, and can indicate to
programs which of them is the one to use at any given time (see
below).
The second data file used by TERMSET is called TTYTYPES.PSF.
This file holds many standard terminal configurations. In fact,
most people will find that their terminal or computer is already
defined in this file. Just as SLITHER searches (disk) direc-
tories to find its files, so TERMSET hunts for its. If it cannot
find one, it will ask you where it is, and you can tell it.
Using TERMSET
----- -------
To create a data set for your terminal (video monitor), type
"TERMSET". The program will give you the choice of selecting an
existing terminal definition, selecting a previously configured
terminal, or creating a new one. If your terminal, or computer,
is one of the standard choices, you're in luck; simply select it
and you're on your way. If you wish to reuse a configuration you
made earlier, select it and you are just as easily done.
Otherwise, TERMSET will need to ask you a number of questions
about your terminal, such as the character(s) which must be sent
to clear the screen; be prepared to wade through the terminal
documentation or to find someone with more detailed knowledge of
the terminal.
After a terminal configuration has been chosen/created, you
will be given a chance to test it. If the configuration is for
the terminal you are currently working on, you should do so (just
to make sure it really works!). If it is for a different
terminal, it is probably best not to test it. In the test, all
of the features are checked out. If they all work ok, you will
be prompted for a configuration name. The configuration data set
will be stored in NIRVOSYS.PSF with this name, so that more that
one configuration can be stored there without overwriting each
other.
Setting the Default Configuration
------- --- ------- -------------
In addition to the named terminal configurations for each
terminal or mode which you have, NIRVOSYS.PSF has a "default"
configuration. This is a copy of one of your configurations with
a special name (in particular, a blank name) which tells all Nir-
vonics programs that it represents the current terminal. To
select a default configuration, type "TERMSET xxx", where "xxx"
means the name that you gave the terminal configuration for your
current terminal. For example, typing "TERMSET VT100" might tell
Nirvonics programs that you just hooked up your new VT100 ter-
minal instead of the old ADM3A that you were using a minute ago.
Standard Terminal Types
-------- -------- -----
The terminal configurations which TERMSET knows about represent
what information we were able to obtain from various sources.
Many of these configurations are probably incomplete and may even
be incorrect. We will be glad to help you with any problems and
would like to know about any changes you find necessary, or new
terminal types.
For the IBM-PC and compatibles, try the IBM-MONO terminal type.
If this doesn't work, then try IBM-ANSI.
If you have an IBM-PC (or compatible) with a color display you
might want to try the IBM-CGA terminal type. SLITHER can then
take advantage of the color capabilities.
Cursor Problems with IBM Clones
------ -------- ---- --- ------
Some IBM compatibles have a bug in their ROM BIOS which makes
them indicate the wrong number of scan lines when the cursor type
is requested. If your machine has this property, you will find
the cursor ending up in unusual positions (such as the middle of
a character) after being turned off by Nirvonics programs (such
as TERMSET's cursor test).
To correct this problem, you can use TERMSET to change your term-
inal definition, and supply the number of scan lines explicitly.
Typically, this will be 8 for color monitors and 14 for mono-
chrome. If you don't know the right value, just try something
and see where the cursor ends up.
Old Terminal Definitions
--- -------- -----------
If you have old terminal definitions from a previous release of a
Nirvonics program (you can check for this by running LSPSET and
looking for TERMLIB entries with version numbers less than 4),
and you don't want to use the new standard definitions, you can
run NEWTERM instead of TERMSET. It will convert old-style defin-
itions to new ones.
APPENDIX B: TROUBLE-SHOOTING
SLITHER has been designed to operate as automatically as
possible. In spite of this (and sometimes because of this),
there are problems which could conceivably arise. This section
attempts to describe some problems which might occur and to sug-
gest some solutions. Hopefully, you will have no need of this
section.
SLITHER Consistently Cannot Find Its Data Files
------- ------------ ------ ---- --- ---- -----
Nirvonics programs tell you where they looked for important
data files. They look in some of the most reasonable (disk)
directories (in particular, they will look anywhere that the
operating system might look for program files. For example, un-
der MS-DOS they will look in the current directory, all director-
ies on the PATH, and all directories in the path list given by
the DATAPATH environment variable). These important data files
only need to be created once, and should thereafter be stored in
one of these reasonable places. NIRVOSYS.PSF should probably
even reside on the main program (disk) directory.
Screen Fills with Random Garbage
------ ----- ---- ------ -------
You have probably made a mistake in configuring SLITHER for
your terminal, or forgot to set the default terminal. Run
TERMSET again. Make sure to use the Test section of TERMSET.
Some things to watch out for: certain characters may be in-
tercepted by the system and interpreted specially; in particular
<13>, <9>, and <0>. These can usually be replaced by <141>,
<137>, and <128>, respectively.
Occasional Garbage Appears on the Screen and/or
---------- ------- ------- -- --- ------ ------
Response to Keyboard Controls Seems Sluggish
-------- -- -------- -------- ----- --------
Some terminals cannot keep up with a steady stream of com-
mands at high Baud rates (speed of sending characters between the
computer and the terminal). There are two ways to get around
this. One is to lower the Baud rate to the terminal. The other
is to add delays to the control strings in NIRVOSYS.PSF (using
TERMSET).